package carte.element;

import java.util.ArrayList;
import java.util.Random;

import carte.Cellule;
import carte.terrain.Land;
import java.awt.Color;

public class Fire implements Sendable{

	private final static Color texture = new Color(241,10,10);
	//pour connaitre le rayon de devastation lorsque l'utilisateur declenche un feu
	public final static int RANGE_GOD = 3;
	
	//pourcentage initial qu'une case adjacente soit brulee
	public static final float FIRE_RATE = 0.50f;
	
	private static final Random random = new Random();
	
	//si la case est enflammée, le feu consume tout ce qu'il y avait dedans et il va essayer de se répandre
	public static void evolve(ArrayList<Cellule> oldEnv, ArrayList<Cellule> newEnv, int i, int j) {
		//lorsque le feu évolue, il va regarder sur toutes les cases adjacentes
		//pas la case elle même pour l'instant
		for(int index=1; index<oldEnv.size(); index++){
			if(random.nextFloat() < FIRE_RATE){
				newEnv.get(index).addFire();
			}
		}
		//ensuite cette case devient une case de terre classique
		newEnv.get(0).setLand(Land.Earth());
		//et on la désenflamme
		newEnv.get(0).setInflamed(false);
	}

	public static Color getTexture() {
		return texture;
	}
}
